package com.ctshk.rpc.ship.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @Description
 * @Author wansi <gaylen15527491065@yeah.net>
 * @Date 2021/4/29
 */
@Data
@ApiModel(value = "预订中心查询产品详情")
public class ReserveReq implements Serializable {

    @ApiModelProperty(value = "产品ID")
    private Long productId;

    @ApiModelProperty(value = "预订查询参数：船公司类型(1 信德船票，2 珠江船票)")
    private Integer companyType;

    @ApiModelProperty(value = "船舱等级")
    private String cabinClass;

    @ApiModelProperty(value = "预订查询参数：出发开始日期")
    private LocalDateTime depTimeStart;

    @ApiModelProperty(value = "预订查询参数：出发结束日期")
    private LocalDateTime arrTimeStart;

    @NotNull
    @ApiModelProperty(value = "票日期")
    private LocalDate startDate;

    @NotNull(message = "API产品-出发地code不能为空")
    @ApiModelProperty(value = "出发地id")
    private String depPlaceCode;

    @NotNull(message = "API产品-到达地code不能为空")
    @ApiModelProperty(value = "到达地id")
    private String arrPlaceCode;

    @ApiModelProperty(value = "选择时间段")
    private String depTime;

    @NotNull
    @ApiModelProperty(value = "预订查询参数：出发城市id")
    private Long depCityId;

    @NotNull
    @ApiModelProperty(value = "预订查询参数：到达城市id")
    private Long arrCityId;

    @NotNull
    @ApiModelProperty(value = "总票数")
    private Integer ticketNumber;
}
